﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;

namespace NGI_Auxiliares
{
    public class Funciones
    {
        public static Dictionary<String, String> SepararDatosCredenciales(String Credenciales)
        {
            String[] Campos = Credenciales.Split(Convert.ToChar(ConfigurationManager.AppSettings["CaracterLimiteCampoCredenciales"]));
            Dictionary<String, String> Valores = new Dictionary<String, String>();

            foreach (String Campo in Campos)
            {
                String[] ClaveValor = Campo.Split(Convert.ToChar(ConfigurationManager.AppSettings["CaracterLimiteClaveValorCredenciales"]));
                Valores.Add(ClaveValor[0], ClaveValor[1]);
            }

            return Valores;
        }

        public static String RellenarDecimalConCeros(decimal Numero, String Formato)
        {
            String[] FormatoDividido = Formato.Split(',');
            Int32 TotalCerosIzquierda = FormatoDividido[0].Length;
            Int32 TotalCerosDerecha = FormatoDividido[1].Length;

            String ParteEntera = Math.Truncate(Numero).ToString();
            Int32 ParteDecimal = Convert.ToInt32((Numero - Math.Truncate(Numero)) * 100);
            if (ParteDecimal < 10) ParteDecimal *= 10;

            String ParteDecimalS = ParteDecimal < 10 ? "0" + ParteDecimal.ToString() : ParteDecimal.ToString();

            for (int i = ParteEntera.Length ; i < TotalCerosIzquierda; i++)
            {
                ParteEntera = "0" + ParteEntera;
            }

            return ParteEntera + "," + ParteDecimalS;
        }

        public static Boolean EsNumeroOBackSpace(char Caracter)
        {
            return !(Caracter >= '0' && Caracter <= '9' || Caracter == '\b');
        }

        public static Boolean EsNumero(char Caracter)
        {
            return !(Caracter >= '0' && Caracter <= '9');
        }
    }
}
